package com.bluefox.hospital.service;

import com.bluefox.hospital.model.RichText;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * RichTextService
 * @author Administrator
 */
public interface RichTextService {

    /**
     * 根据ID获取资源
     *
     * @param id 资源实例ID
     * @return Id所指向的资源实例
     * @throws 当Id所指向的资源不存在时，抛CustomRuntimeException异常
     */
    RichText get(Long id);

    /**
     * 创建
     *
     * @param model 资源实例
     * @return 创建后的对象
     */
    RichText create(RichText model);

    /**
     * 更新
     *
     * @param model 编辑后的资源实例
     * @return 修改后的对象
     */
    RichText update(RichText model);

    /**
     * 删除
     *
     * @param id 资源实例ID
     */
    void delete(Long id);

    /**
     * 分页查询
     * @param pageable
     * @return
     */
    public Page<RichText> findAll(Pageable pageable);

    @Transactional(propagation= Propagation.NOT_SUPPORTED)
    Page<RichText> findAll(String type, Pageable pageable);

    public List<RichText> findTop6ByType(String type,Integer status);


    Page<RichText> findByTypeAndStatus(String type,Integer status, Pageable pageable);

    Page<RichText> findAllWeb(String type, Pageable pageable);

    Page<RichText> findAllWeb(Pageable pageable);

    /**
     * 置顶操作
     * @param model
     * @return
     */
     RichText roofPlacement(RichText model);
}
